home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / text / edit / bah.lha / BAH3.3.1 / Install.script < prev    next >
Text File  |  1998-10-16  |  9KB  |  302 lines

  1. ; $VER: BAH Installer 3.0 (07.07.98)
  2. ; BAH - by M&F (Mauro Fontana)
  3. ; Installer script by Marco Negri & M&F
  4. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  5.  
  6. (set sourcedir "")
  7.  
  8. (set dirname      "bah")
  9. (set execname     "BAH")
  10. (set oldexecname  "BAH!")
  11. (set configdir    "config")
  12. (set rexxdirsrc   "rexx")
  13. (set extradirsrc  "support/insert")
  14.  
  15. (set destdir      "BED:")
  16. ;(set rexxdirdest  (cat target rexxdirsrc))
  17. ;(set extradirdest (cat target extradirsrc))
  18.  
  19.  
  20. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  21.  
  22. (if (= @language "english")
  23.   (
  24.     (set old_os_exit "BAH required minimum OS version: 37\nYour current version: %ld.%ld\n\nBAH cannot be installed")
  25.     (set target_prompt "Select location to put BAH %ld.%ld:\nA directory named %s will be created")
  26.     (set exist_dir_prompt "The directory selected is\n%s\nDo you wish to install BAH there ?")
  27.     (set same_version_prompt "The same version of BAH is present\nVersion: %ld.%ld\nDo you want to re-install it ?")
  28.     (set same_version_exit "Same version already present !")
  29.     (set new_version_prompt "A newer version of BAH is present\nOld version: %ld.%ld\nNew Version: %ld.%ld\nInstallation aborted !")
  30.     (set new_version_exit "Newer version already present !")
  31.     (set old_version_prompt "An older version of BAH is present\nOld version: %ld.%ld\nNew Version: %ld.%ld\nDo you want to replace it ?")
  32.     (set old_version_exit "Older version not replaced !")
  33.     (set config_prompt "Select the config files to install:\n")
  34.  
  35.     (set replace_button "Replace")
  36.     (set abort_button "Abort")
  37.     (set install_there_button "Install BAH there")
  38.     (set new_dir_button "Create a directory named %s")
  39.     
  40.     (set copyconfig-help "These file are quite complete examples that can be further modified by the user or used as a base point for creating much more complex ones.\n")
  41.     (set copyrexx-help "These files are used by some configurations. If you don't install them some button actions may not be performed. \n")
  42.   
  43.     (set #yes "Yes")
  44.     (set #no  "No")
  45.     (set #rexx_prompt "Do you want to install the Arexx scripts?")
  46.     (set rexx_prompt  "Select the Arexx scripts to install")
  47.     (set #extra_prompt "Do you want to intall the extra files?")
  48.     (set extra_prompt "Select the exyta file to install:\n")
  49.   )
  50. )
  51.  
  52. (if (= @language "italiano")
  53.   (
  54.     (set old_os_exit "BAH richiede minimo OS versione: 37\nLa versione corrente: %ld.%ld\n\nBAH non puo` essere installato")
  55.     (set target_prompt "Seleziona dove mettere BAH %ld.%ld:\nUna directory col nome %s sara` creata")
  56.     (set exist_dir_prompt "The directory selected is\n%s\nDo you wish to install BAH there ?")
  57.     (set same_version_prompt "E` gia` presente la stessa versione di BAH\nVersione: %ld.%ld\nVuoi reinstallare?")
  58.     (set same_version_exit "E' gia` presente la stessa versione!")
  59.     (set new_version_prompt "E` presente una version piu` recente\nVecchia versione: %ld.%ld\nNuova Versione: %ld.%ld\nInstallazione terminata!")
  60.     (set new_version_exit "E` presente una versione piu` recente!")
  61.     (set old_version_prompt "E` presente una vecchia versione di BAH\nVecchia versione: %ld.%ld\nNuova Versione: %ld.%ld\nVuoi riscriverla ?")
  62.     (set old_version_exit "La vecchia version non e` stata riscritta!")
  63.     (set config_prompt "Scegli i file di configurazione da installare:\n")
  64.  
  65.     (set replace_button "Riscrivi")
  66.     (set abort_button "Interrompi")
  67.     (set install_there_button "Installa BAH")
  68.     (set new_dir_button "Crea una directory %s")
  69.     
  70.     (set copyconfig-help "Questi file sono degli esempi abbastanza completi che possono essere modificati ulteriormente dall'utente o usati come base per crearne di piu` complessi.\n")
  71.     (set copyrexx-help "Questi files sono usati da qualche configuratione. Se non vengono installati probabilmente qualche bottone non funzionera`. \n")
  72.   
  73.     (set #yes "Si")
  74.     (set #no  "No")
  75.     (set #rexx_prompt "Vuoi installare gli script Arexx?")
  76.     (set rexx_prompt  "Scegli gli script Arexx da installare")
  77.     (set #extra_prompt "Vuoi installare i file extra?")
  78.     (set extra_prompt "Scegli i file extra da installare:\n")
  79.   )
  80. )
  81.  
  82.  
  83. ; - - - - Check BAH version and revision - - - -
  84.  
  85. (complete 0)
  86.  
  87. (set new_vernum (getversion (tackon sourcedir execname)))
  88. (set new_ver (shiftright new_vernum 16))
  89. (set new_rev (BITAND new_vernum 65535))
  90.  
  91. (set sys_vernum (getversion))
  92. (set sys_ver (shiftright sys_vernum 16))
  93. (set sys_rev (BITAND sys_vernum 65535))
  94.  
  95. ; - - - - Check system version and revision - - - -
  96.  
  97.  
  98. (set @default-dest destdir)
  99.  
  100. (if (< sys_ver 37)
  101.   (exit (old_os_exit sys_ver sys_rev))
  102. )
  103.  
  104. ; - - - - Ask for the target directory  - - - -
  105.  
  106. (set target
  107.   (askdir
  108.     (prompt (target_prompt new_ver new_rev dirname))
  109.     (default @default-dest)
  110.     (disk)
  111.     (help @askdir-help)
  112.   )
  113. )
  114.  
  115. (set maintarget target) ; Keeps base installation path
  116.  
  117.  
  118. ; - - - - Check if the directory is already called BAH - - - -
  119.  
  120. (if (= dirname (fileonly target))
  121.   (if (= 1  (askchoice
  122.           (prompt (exist_dir_prompt target))
  123.           (choices install_there_button (new_dir_button dirname))
  124.           (default 0)
  125.           (help @askchoice-help)
  126.           )
  127.       )
  128.  
  129.       (set target (tackon target dirname))
  130.   )
  131.  
  132.   (set target (tackon target dirname))
  133. )
  134.  
  135. (set @default-dest target)
  136.  
  137.  
  138. ; - - - - Check if there is another version present - - - -
  139.  
  140.  
  141. (set exec (tackon target execname))
  142.  
  143. (if (exists exec)
  144.   (
  145.     (set old_vernum (getversion exec))
  146.     (set old_ver (/ old_vernum 65536))
  147.     (set old_rev (- old_vernum (* old_ver 65536)))
  148.  
  149.     (if (= old_vernum new_vernum)
  150.       (
  151.         (if (= 0 (askbool
  152.                   (prompt (same_version_prompt old_ver old_rev))
  153.                   (choices replace_button abort_button)
  154.                   (default 0)
  155.                   (help @askbool-help)
  156.                   )
  157.                 )
  158.             (exit same_version_exit)
  159.         )
  160.       )
  161.       (if (< old_vernum new_vernum)
  162.         (if (= 0 (askbool
  163.                   (prompt (old_version_prompt old_ver old_rev new_ver new_rev))
  164.                   (choices replace_button abort_button)
  165.                   (default 1)
  166.                   (help @askbool-help)
  167.               )
  168.           )
  169.           (exit old_version_exit)
  170.         )
  171.         (
  172.           (message (new_version_prompt old_ver old_rev new_ver new_rev))
  173.           (exit new_version_exit)
  174.         )
  175.       )
  176.     )
  177.   )
  178.  
  179. )
  180. (set exec (tackon target oldexecname))
  181.  
  182. (if (exists exec)
  183.   (
  184.     (set old_vernum (getversion exec))
  185.     (set old_ver (/ old_vernum 65536))
  186.     (set old_rev (- old_vernum (* old_ver 65536)))
  187.  
  188.       (if (< old_vernum new_vernum)
  189.         (if (= 0 (askbool
  190.                 (prompt (old_version_prompt old_ver old_rev new_ver new_rev))
  191.                 (choices replace_button abort_button)
  192.                 (default 1)
  193.                 (help @askbool-help)
  194.             )
  195.         )
  196.         (exit old_version_exit)
  197.       )
  198.       (
  199.         (message (new_version_prompt old_ver old_rev new_ver new_rev))
  200.         (exit new_version_exit)
  201.       )
  202.     )
  203.     
  204.     ; This deletes the old BAH! executable and its icon
  205.     (if (exists exec)
  206.       (delete exec)
  207.     )
  208.  
  209.     (set exec (tackon target ("%s.info" oldexecname)))
  210.     (if (exists exec)
  211.       (delete exec)
  212.     )
  213.   )
  214. )
  215.  
  216.  
  217. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  218. ; *** BAH and BAH.guide ***
  219. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  220.  
  221. (copyfiles
  222.   (prompt "")
  223.   (source sourcedir)
  224.   (choices execname ("%s.guide" execname))
  225.   (dest target)
  226.   (infos)
  227.   (help @copyfiles-help)
  228. )
  229.  
  230. (complete 40)
  231.  
  232. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  233. ; *** Config ***
  234. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  235.  
  236.  
  237. (copyfiles
  238.   (prompt config_prompt)
  239.   (source (tackon sourcedir configdir))
  240.   (pattern "#?.cfg")
  241.   (dest (tackon target configdir))
  242.   (infos)
  243.   (confirm)
  244.   (help copyconfig-help)
  245. )
  246.  
  247. (complete 60)
  248.  
  249. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  250. ; *** Arexx files ***
  251. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  252.  
  253. (if 
  254.   (